Repository navigation
Port bundled CPython and ordered CodeMode into Maple Agent - #897
Draft
AnthonyRonning wants to merge 6 commits into
Draft
AnthonyRonning wants to merge 6 commits into
AnthonyRonning wants to merge 6 commits into
Conversation
AnthonyRonning
added this pull request to stack #902
September 9, 2026 19:33
AnthonyRonning
force-pushed
the
feature/cpython-codemode-monorepo
branch
from
October 4, 2026 07:46
15cf7cf to
809fe4f
Compare
(cherry picked from commit 4bfeb7177d6103c174d332bcb0128f1f36aa3703) Adapt Python packaging and worker CI to the monorepo component layout; preserve local SDK/proxy dependencies, managed app identity and inactive Agent publication.
(cherry picked from commit e087b1af4eb0e4f77c036b9fff2f7904a2e9c4f0) Reapply under apps/maple-agent while preserving monorepo SDK integration, test portability fixes and Agent update routing.
(cherry picked from commit 1c0ade10bfcaa33e6a2f5cd88cbbb48eda45ea1c) Retain the exact published Goose scheduler patch and source hash in the Agent component dependency graph.
AnthonyRonning
force-pushed
the
feature/cpython-codemode-monorepo
branch
from
October 4, 2026 21:00
809fe4f to
d5eb11c
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds the normal permission-controlled
python_codetool to Maple Agent: bundled CPython, persistent task namespaces, a continuous asyncio loop, Reset/lifecycle fencing, four retained worker slots, and up to 32 permitted Python calls executed in submission order. Other tools retain concurrency.Rebased onto master
cd4218f5. Integration retains the currentmaple-agent-apppackage /maple-agentexecutable, Popup menus, Active/Settled/Archived task states, external-provider admission and approval behavior, registry SDK 4.0.1, local proxy 0.4.1, and CUA 0.28.0. Settling retains Python state; archiving retires it. The component commit hook prepares the native Python fixture before running tests.Goose remains at master's 1.53.0 package version, with the focused ordered-call patch at
19605eb50df1b27ab8f7ddd9c4e5dcbba19ec333, exactly one commit above master's previous pin. Advertised-tool/external-dispatch guards are preserved. Maple continues to select the legacy execution loop and existing live approval router. Tests explicitly select both Goose loops and use the newer approval API only in their isolated harness.File-workflow improvements include external package installation guidance that keeps packages outside the interpreter bundle, documented Stop grace-period effects and spawned-pool requirements, bounded filesystem/syntax diagnostics, and adjacent-write coalescing that preserves stream/execution identity and output limits. The 5,000-line regression retains all 23,890 bytes.
The October 4 hosted run exposed two branch-introduced CI defects, repaired in
d5eb11c5and4f8603d8: archive checksum/output encoding on Windows and the Intel shell's unsupported Nixpkgs/Bash startup environment. Checksums now use explicit UTF-8/LF; limited consoles receive an escaped path. Intel alone uses a separately locked supported Nixpkgs 26.05 input, retaining Python 3.13.15 and Rust 1.98.0. The Intel lane bootstraps Bash from that same lock entry sonix developcannot fall back to incompatible system Bash. Other platform input pins and shell derivation identities are unchanged.Validation:
d5eb11c5, full pinned macOS ARM64just cithrough the repository hook passed: four strict Clippy configurations, warning-denied workspace debug build, 964 workspace tests (five existing ignored), 36 headless tests, 24 worker tests plus one Windows-only skip, and seven packaging tests. Root Nix checks passed.4f8603d8.4f8603d8, run 37235676344 has a fully passing Intel job: dependency verification, Python worker/packaging, Rust worker tests, and offline Unicode-path relocation without Python on PATH. Windows worker/packaging passed again. ARM64 failed with the same CUA vendoring defect described below. As of 2026-10-04 21:36 UTC, the Windows/macOS ARM64 workspace jobs and Linux x64 matrix are still running; the entire hosted run is not complete or green.result_large_errwarnings in unchanged RMCP adapters; Maple's full Clippy gate used no allowances.809fe4f4: signed debug app, native worker, strict ad hoc signature verification, Unicode/spaced-path relocation, and offline external-wheel/imported-module spawn-pool checks. All 1,843 app entries stayed unchanged during dependency smoke. That app was not rebuilt for the CI-only fixes.Remaining CI blocker: the new Linux ARM64 pure Nix lane exposes an existing CUA packaging defect. CUA core includes skill documents outside its crate directory, but Nix Cargo vendoring copies only the crate. The same CUA pin/hash, unconditional includes, and relevant package settings exist on master. The branch failed there before Python installation; a separate master pure build was not executed. Ordinary master CI does not exercise this lane. The fix is deferred rather than weakening the retained-interpreter check or broadening this feature into CUA packaging changes.
Authenticated GUI/ACP/live-model workflows, installed Linux Nix closure, browser-download Gatekeeper behavior, and release signing remain unverified. Final-value repr failure behavior and runtime-unavailable wording remain deferred. This stays Draft; original PRs #2/#69 remain untouched. No merge or release is included.